Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maven plugin for Helidon Service Inject #9461

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

tomas-langer
Copy link
Member

Maven plugin that:

  • generates application binding class (bindings for injection points)
  • generates main class (registration of descriptor instances to InjectConfig that disables bootstrap service discovery)
  • updated tests

To see what happens, build the project with -Ptests, and check directory:
service/tests/inject/toolbox/target/generated-sources/annotations/io/helidon/service/tests/inject/toolbox

See ApplicationMain and Injection__Binding classes.

@tomas-langer tomas-langer added 4.x Version 4.x declarative Helidon Declarative labels Nov 4, 2024
@tomas-langer tomas-langer added this to the 4.2.0 milestone Nov 4, 2024
@tomas-langer tomas-langer self-assigned this Nov 4, 2024
@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Nov 4, 2024
service/inject/maven-plugin/pom.xml Show resolved Hide resolved
@@ -1506,6 +1506,11 @@
<artifactId>helidon-service-inject</artifactId>
<version>${helidon.version}</version>
</dependency>
<dependency>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need a pluginManagement in the application parent pom.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would prefer to leave the application updates to Helidon declarative, as this requires actual applications using it to verify it is done correctly, and that seemed like a bit bigger task.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This plugin will be usable in 4.2.0, we should provide proper version management for it.

service/inject/maven-plugin/README.md Outdated Show resolved Hide resolved
service/inject/maven-plugin/README.md Outdated Show resolved Hide resolved
service/inject/maven-plugin/pom.xml Outdated Show resolved Hide resolved
service/inject/maven-plugin/pom.xml Outdated Show resolved Hide resolved
service/inject/maven-plugin/pom.xml Outdated Show resolved Hide resolved
service/inject/maven-plugin/pom.xml Outdated Show resolved Hide resolved
service/inject/maven-plugin/pom.xml Outdated Show resolved Hide resolved
danielkec
danielkec previously approved these changes Nov 27, 2024
Moved version management for maven plugin to project root pom, moved plugin configuration there as well
A fix in `AptTypeInfoFactory` where a NPE was possible.
Switch hint log level to trace in maven plugin
Removed bad info log, added useful info log to maven plugin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.x Version 4.x declarative Helidon Declarative OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants